
package org.ing.sisval.da;

import java.sql.Connection;
import java.util.ArrayList;
import org.ing.sisval.be.BEValuacionEdificacion;
import org.rx.cr.dao.DAOAbstract;


public class DAValuacionEdificacion  extends DAOAbstract<BEValuacionEdificacion>{

    public DAValuacionEdificacion(Connection conn) {
    setConnection(conn);
    }
    @Override
    public int registrar(BEValuacionEdificacion be) throws Exception {
    try {
            setStoreProcedure("SISVAL.sp_ins_valuacionedificacion");
            setParameterDouble(be.getValortotal());
            setParameterInt(be.getDepreciacionid());
            setParameterDouble(be.getValorAdicional());
            setParameterDouble(be.getAreaTechada());
            setParameterString(be.getTipoedificacion());
            setParameterString(be.getCaracteristica());
            setParameterString(be.getNombrecaracteristica());
            setParameterInt(be.getAntiguedad());
             setParameterDouble(be.getValorEstado());
           return Integer.parseInt(commit().toString());
        } catch (Exception e) {
            return rollback(e);
        }  }

    @Override
    public int actualizarRegistro(BEValuacionEdificacion be) throws Exception {
        try {
            setStoreProcedure("SISVAL.sp_upd_valuacionedificacion");
            setParameterDouble(be.getValortotal());
            setParameterInt(be.getDepreciacionid());
            setParameterDouble(be.getValorAdicional());
            setParameterDouble(be.getAreaTechada());
            setParameterString(be.getTipoedificacion());
             setParameterString(be.getCaracteristica());
             setParameterString(be.getNombrecaracteristica());
             setParameterInt(be.getAntiguedad());
             setParameterDouble(be.getValorEstado());

            return Integer.parseInt(commit().toString());
        } catch (Exception e) {
            return rollback(e);
        }
    }

  
    public int eliminarRegistro(int valdepreciacionid) throws Exception {
    try {
            setStoreProcedure("SISVAL.sp_del_valuacionedificacion");
            setParameterInt(valdepreciacionid);
          return Integer.parseInt(commit().toString());
        } catch (Exception e) {
            return rollback(e);
        } }

    @Override
    public ArrayList<BEValuacionEdificacion> buscarReferencia(String string) throws Exception {
try {
            clear();
            setStoreProcedure("SISVAL.sp_sel_valuacionedificacion");
            setParameterString(string);
            commitc();
            while (existResult()) {                
                BEValuacionEdificacion be = new BEValuacionEdificacion();
                be.setValuacionEdificacionId(getDataInt(1));
                be.setValortotal(getDataDouble(2));                
                be.setDepreciacionid(getDataInt(3));
                be.setValorAdicional(getDataDouble(4));
                be.setAreaTechada(getDataDouble(5));
                be.setTipoedificacion(getDataString(6));
                be.setCaracteristica(getDataString(7));
                be.setNombrecaracteristica(getDataString(8));
                be.setAntiguedad(getDataInt(9));
                be.setValorEstado(getDataDouble(10));
                add(be);
            }
            return getLista();
        } catch (Exception e) {
            rollback(e);
            return null;
        }
    }

   
    public ArrayList<BEValuacionEdificacion> listar(int id) throws Exception {
      try {
            clear();
            setStoreProcedure("SISVAL.sp_sel_valuacionedificacion");
            setParameterInt(id);
            commitc();
            while (existResult()) {                
                BEValuacionEdificacion be = new BEValuacionEdificacion();
               be.setValuacionEdificacionId(getDataInt(1));
                be.setValortotal(getDataDouble(2));                
                be.setDepreciacionid(getDataInt(3));
                be.setValorAdicional(getDataDouble(4));
                be.setAreaTechada(getDataDouble(5));
                be.setTipoedificacion(getDataString(6));
                be.setCaracteristica(getDataString(7));
                be.setNombrecaracteristica(getDataString(8));
                be.setAntiguedad(getDataInt(9));
                be.setValorEstado(getDataDouble(10));
                add(be);
            }
            return getLista();
        } catch (Exception e) {
            rollback(e);
            return null;
        }  
    }

    @Override
    public BEValuacionEdificacion buscar(int i) throws Exception {
         try {
             BEValuacionEdificacion be=null;            
            setStoreProcedure("SISVAL.sp_sel_valuacionedificacion_id");
            setParameterInt(i);
            commitc();
            while (existResult()) {                
                 be = new BEValuacionEdificacion();
               be.setValuacionEdificacionId(getDataInt(1));
                be.setValortotal(getDataDouble(2));                
                be.setDepreciacionid(getDataInt(3));
                be.setValorAdicional(getDataDouble(4));
                be.setAreaTechada(getDataDouble(5));
                be.setTipoedificacion(getDataString(6));
                be.setCaracteristica(getDataString(7));
                be.setNombrecaracteristica(getDataString(8));
                be.setAntiguedad(getDataInt(9));
                be.setValorEstado(getDataDouble(10));
            }
            return be;
        } catch (Exception e) {
            rollback(e);
            return null;
        }  
    }

    @Override
    public ArrayList<BEValuacionEdificacion> listar() throws Exception {
         try {
             clear();                        
            setStoreProcedure("SISVAL.sp_sel_valuacionedificacion");
            setParameterString("");
            commitc();
            while (existResult()) {                
                BEValuacionEdificacion  be = new BEValuacionEdificacion();
               be.setValuacionEdificacionId(getDataInt(1));
                be.setValortotal(getDataDouble(2));                
                be.setDepreciacionid(getDataInt(3));
                be.setValorAdicional(getDataDouble(4));
                be.setAreaTechada(getDataDouble(5));
                be.setTipoedificacion(getDataString(6));
                be.setCaracteristica(getDataString(7));
                be.setNombrecaracteristica(getDataString(8));
                be.setAntiguedad(getDataInt(9));
                be.setValorEstado(getDataDouble(10));
            }
            return getLista();
        } catch (Exception e) {
            rollback(e);
            return null;
        } 
    }

    @Override
    public int eliminarRegistro(BEValuacionEdificacion tipo) throws Exception {
        try {
            setStoreProcedure("sp_del_valuacionedificacion");
            setParameterInt(tipo.getValuacionEdificacionId());
            return Integer.parseInt(commit().toString());
        } catch (Exception e) {
            return rollback(e);
        }
    }

    public int obtenerUltimoId() throws Exception {
         BEValuacionEdificacion be = new BEValuacionEdificacion();
        try {            
            setStoreProcedure("sisval.sp_obteneridValuacionEdificacion");            
            while (existResult()) {                
                be.setValuacionEdificacionId(getDataInt(1));
            }
            
            return Integer.parseInt(commit().toString());
            
        } catch (Exception e) {
            return rollback(e);
        }
    }
    
}
